4
תגובות

כמות ערך בטבלה

פתח Jackarss ,
למשל יש לי את הטבלה:
id | price | packid
1 | 30 | 1
2 | 30 | 1
3 | 30 | 1
4 | 30 | 1
5 | 30 | 1
6 | 30 | 1
7 | 30 | 1
8 | 70 | 2
9 | 70 | 2
10 | 70 | 2
11 | 120 | 3
12 | 120 | 3

אני רוצה לדעת איזה packid קנו הכי הרבה.
אני לא יודע בוודאות כמה packid יש וכמה חבילות יש.
חשבתי ולא הצלחתי למצוא דרך לעשות את זה.

4 תשובות

avatar ענה Jackarss ב 05 לאוגוסט 2012 #

הטבלה לא מסודרת נכון
packid | price | id
1 | 30 | 1
2 | 30 | 1
3 | 30 | 1
4 | 30 | 1
5 | 30 | 1
6 | 30 | 1
7 | 30 | 1
8 | 70 | 2
9 | 70 | 2
10 | 70 | 2
11 | 120 | 3
12 | 120 | 3

avatar ענה Jackarss ב 05 לאוגוסט 2012 #

הסתדרתי

avatar ענה iiddaannyy ב 05 לאוגוסט 2012 #

SELECT `packid`
FROM `table`
GROUP BY `packid`
HAVING COUNT(`packid`) = (
    SELECT COUNT(`packid`) AS `c`
    FROM `table`
    GROUP BY `packid`
    ORDER BY `c` DESC
    LIMIT 1
);

avatar ענה intval ב 06 לאוגוסט 2012 #

אפשר לפשט את זה עוד קצת ל

select packid, count(*)
from table
group by packid
order by count(*) desc
limit 1